from loguru import logger
import sys
import os

def setup_logging():
    """配置 Loguru 日志系统"""

    # 移除默认控制台输出（可选）
    logger.remove()

    # 添加控制台输出（开发环境）
    logger.add(
        sys.stderr,  # 控制台输出
        format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>",
        level="INFO",  # 设置日志级别
        colorize=True,  # 启用颜色
    )

    # 添加文件输出（生产环境）
    if not os.path.exists("logs"):
        os.makedirs("logs")

    logger.add(
        "logs/app_{time:YYYY-MM-DD}.log",
        rotation="00:00",  # 每天轮换
        retention="30 days",  # 保留30天
        compression="zip",  # 压缩旧日志
        level="INFO",
        format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {message}"
    )

setup_logging()